package com.ruoyi.system.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import com.ruoyi.common.core.domain.TreeEntity;
import lombok.Data;

import java.util.Date;


/**
 * 流程视图对象 lc_process
 *
 * @author ruoyi
 * @date 2023-05-15
 */
@Data
@ExcelIgnoreUnannotated
public class LcProcessVo extends TreeEntity<LcProcessVo> {

    private static final long serialVersionUID = 1L;

    private Integer number;

    /**
     * id
     */
    @ExcelProperty(value = "id")
    private Long processId;

    /**
     * 流程编号
     */
    @ExcelProperty(value = "流程编号")
    private String processNo;

    /**
     * 流程名称
     */
    @ExcelProperty(value = "流程名称")
    private String processName;

    /**
     * 流程版本
     */
    @ExcelProperty(value = "流程版本")
    private String processVersion;

    /**
     * 所在业务分类id
     */
    @ExcelProperty(value = "所在业务分类id")
    private Long businessTypeId;

    /**
     * 所在业务分类id
     */
    @ExcelProperty(value = "所在业务分类id")
    private String businessTypeIds;

    /**
     * 所在业务分类名称
     */
    @ExcelProperty(value = "所在业务分类名称")
    private String businessTypeName;

    /**
     * 主办部门id
     */
    @ExcelProperty(value = "主办部门id")
    private Long hostDeptId;

    /**
     * 主办部门id
     */
    @ExcelProperty(value = "主办部门id")
    private String hostDeptIds;

    /**
     * 主办部门名称
     */
    @ExcelProperty(value = "主办部门名称")
    private String hostDeptName;

    /**
     * 责任部门职责
     */
    @ExcelProperty(value = "责任部门职责")
    private String responsibilityDeptValue;

    /**
     * 基层单位职责
     */
    @ExcelProperty(value = "基层单位职责")
    private String grassrootsDeptValue;

    /**
     * 横向部门职责
     */
    @ExcelProperty(value = "横向部门职责")
    private String transverseDeptValue;

    /**
     * 流程说明
     */
    @ExcelProperty(value = "流程说明")
    private String description;

    /**
     * 流程审批状态(0:待提交 1:初始化完成 2:审批通过 3:审批不通过)
     */
    @ExcelProperty(value = "流程审批状态(0:待提交 1:初始化完成 2:审批通过 3:审批不通过)")
    private Integer processAuditType;

    /**
     * 流程表关联的id
     */
    @ExcelProperty(value = "流程表关联的id")
    private String modelId;

    /**
     * 状态（0正常 1停用）
     */
    @ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=正常,1=停用")
    private String status;


    /**
     * 修改人
     */
    @ExcelProperty(value = "修改人")
    private String updateBy;

    /**
     * 提交时间
     */
    @ExcelProperty(value = "提交时间")
    private Date createTime;

    /**
     * 修改时间
     */
    @ExcelProperty(value = "修改时间")
    private Date updateTime;

    /**
     * 父级id
     */
    @ExcelProperty(value = "父级id")
    private Long parentId;
    /**
     * 流程字段-流程xml
     */
    private String bpmnXml;
    /**
     * 其他系统名称
     */
    private String systemName;

    /**
     * 其他系统地址
     */
    private String systemUrl;

    private String institution;

    private Integer processAuditState;
}
